/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM Extend Project: Open Source CFD        |
|  \\    /   O peration     | Version:  1.6-ext                               |
|   \\  /    A nd           | Web:      www.extend-project.de                 |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.01;

vertices
(
    ( -1.5529142706151244  5.7955549577344101 0)  //0
    (  1.5529142706151244  5.7955549577344101 0)  //1
    ( -0.51763809020504148  1.9318516525781366 0)  //2
    (  0.51763809020504148  1.9318516525781366 0)  //3

    ( -1.247470145 5.86888856 9)  //4
    (  1.247470145 5.86888856 9)  //5
    ( -0.41582338 1.95629 9)  //6
    (  0.41582338 1.95629 9)  //7

    ( -1.247470145 5.86888856 12)  //8
    (  1.247470145 5.86888856 12)  //9
    ( -0.41582338 1.95629 12)  //10
    (  0.41582338 1.95629 12)  //11

    (0 0 0)  //12
    (0 0 9)  //13

    (-0.20905693 1.98904379 0)  //14
    ( -0.1046719 1.99725907 0)  //15

    (  -0.20905692653530694  5.9963568273967498 0)
    (  -0.10467191248588767  5.9990869130840689 0)  //17

//--------------------------------------------------
    ( -0.20905693 1.98904379 3)  //18
    ( -0.1046719 1.99725907 3)  //19

    (  -0.20905692653530694  5.9963568273967498 3)    //20
    (  -0.10467191248588767  5.9990869130840689 3)   //21

    ( -1.5529142706151244  5.7955549577344101 3)  //22
    (  1.5529142706151244  5.7955549577344101 3)  //23
    ( -0.51763809020504148  1.9318516525781366 3)  //24
    (  0.51763809020504148  1.9318516525781366 3)  //25
//-----------------------------------------------------------------
    ( 0.20905693 1.98904379 6)  //26
    ( 0.1046719 1.99725907 6)  //27
    (  0.20905692653530694  5.9963568273967498 6) //28
    (  0.10467191248588767  5.9990869130840689 6)  //29

//-----------------------------------------------------------------
    ( 0 0 3)  //30
    ( 0 0 6)  //31

    ( 0.20905693 1.98904379 9)  //32
    ( 0.1046719 1.99725907 9)  //33
    (  0.20905692653530694  5.9963568273967498 9)  //34
    (  0.10467191248588767  5.9990869130840689 9)  //35

    ( -1.5529142706151244  5.7955549577344101 9)  //36
    (  1.5529142706151244  5.7955549577344101 9)  //37
    ( -0.51763809020504148  1.9318516525781366 9)  //38
    (  0.51763809020504148  1.9318516525781366 9)  //39

    ( -1.5529142706151244  5.7955549577344101 6)  //40
    (  1.5529142706151244  5.7955549577344101 6)  //41
    ( -0.51763809020504148  1.9318516525781366 6)  //42
    (  0.51763809020504148  1.9318516525781366 6)  //43
//--------------------------------------------------------------------//
    ( -0.20905692653530694 6.2465026375939052 0) //44
    ( -0.10467191248588767 6.2491234417905801 0) //45
    ( -1.6176190318907546  6.0370364143066766 0)  //46
    ( 1.6176190318907546  6.0370364143066766 0)  //47

    ( -0.20905692653530694 6.2465026375939052 3) //48
    ( -0.10467191248588767 6.2491234417905801 3) //49
    ( -1.6176190318907546  6.0370364143066766 3)  //50
    ( 1.6176190318907546  6.0370364143066766 3)  //51

    ( 0.20905692653530694 6.2465026375939052 6) //52
    ( 0.10467191248588767 6.24912344179058016 6) //53
    ( -1.6176190318907546  6.0370364143066766 6)  //54
    ( 1.6176190318907546  6.0370364143066766 6)  //55

    ( 0.20905692653530694 6.2465026375939052 9) //56
    ( 0.10467191248588767 6.2491234417905801 9) //57
    ( -1.6176190318907546  6.0370364143066766 9)  //58
    ( 1.6176190318907546  6.0370364143066766 9)  //59

    ( -1.6176190318907546  6.0370364143066766 14)  //60
    ( 1.6176190318907546  6.0370364143066766 14)  //61
    ( -0.51763809020504148  1.9318516525781366 14)  //62
    (  0.51763809020504148  1.9318516525781366 14)  //63
//-------------------------------------------------------//
);

blocks
(
                                      // x  y  z
    hex (2 14 16 0 24 18 20 22)  rotor  (12 20 20) simpleGrading (1 1 1)
    hex (14 15 17 16 18 19 21 20) rotor (3 20 20) simpleGrading (1 1 1) //mid block
    hex (15 3 1 17 19 25 23 21)  rotor  (12 20 20) simpleGrading (1 1 1)
    hex (24 18 20 22 42 27 29 40) rotor (12 20 20) simpleGrading (1 1 1)
    hex (19 25 23 21 26 43 41 28) rotor (12 20 20) simpleGrading (1 1 1)
    hex (42 27 29 40 38 33 35 36 ) rotor (12 20 20) simpleGrading (1 1 1)
    hex (27 26 28 29 33 32 34 35 ) rotor (3 20 20) simpleGrading (1 1 1) //mid block
    hex (26 43 41 28 32 39 37 34 ) rotor (12 20 20) simpleGrading (1 1 1)
 //-------tip clearance
    hex (0 16 44 46 22 20 48 50 ) rotor (12 3 20) simpleGrading (1 1 1)
    hex (16 17 45 44 20 21 49 48 ) rotor (3 3 20) simpleGrading (1 1 1)
    hex (17 1 47 45 21 23 51 49 ) rotor (12 3 20) simpleGrading (1 1 1)
    hex (22 20 48 50 40 29 53 54 ) rotor (12 3 20) simpleGrading (1 1 1)
    hex (20 21 49 48 29 28 52 53) rotor (3 3 20) simpleGrading (1 1 1)
    hex (21 23 51 49 28 41 55 52) rotor (12 3 20) simpleGrading (1 1 1)
    hex (40 29 53 54 36 35 57 58) rotor (12 3 20) simpleGrading (1 1 1)
    hex (29 28 52 53 35 34 56 57) rotor (3 3 20) simpleGrading (1 1 1)
    hex (28 41 55 52 34 37 59 56) rotor (12 3 20) simpleGrading (1 1 1)

    hex (38 39 59 58 62 63 61 60) (10 10 10) simpleGrading (1 1 1)  // stator
 
);

edges
(
arc 2 14 ( 0.0 2 0)
arc 14 15 ( 0.0 2 0)
arc 15 3 ( 0.0 2 0)
arc 0 16 ( 0.0 6 0)
arc 16 17 ( 0.0 6 0)
arc 17 1 ( 0.0 6 0)
arc 46 44 ( 0.0 6.25 0)
arc 44 45 ( 0.0 6.25 0)
arc 45 47 ( 0.0 6.25 0)

arc 24 18 ( 0.0 2 3)
arc 18 19 ( 0.0 2 3)
arc 19 25 ( 0.0 2 3)
arc 22 20  ( 0.0 6 3)
arc 20 21 ( 0.0 6 3)
arc 21 23 ( 0.0 6 3)
arc 50 48 ( 0.0 6.25 3)
arc 48 49 ( 0.0 6.25 3)
arc 49 51 ( 0.0 6.25 3)

arc 42 27 ( 0.0 2 6)
arc 26 27 ( 0.0 2 6)
arc 43 26 ( 0.0 2 6)
arc 40 29  ( 0.0 6 6)
arc 28 29 ( 0.0 6 6)
arc 41 28 ( 0.0 6 6)
arc 54 53 ( 0.0 6.25 6)
arc 52 53 ( 0.0 6.25 6)
arc 55 52 ( 0.0 6.25 6)

arc 38 33 ( 0.0 2 9)
arc 32 33 ( 0.0 2 9)
arc 39 32 ( 0.0 2 9)
arc 36 35  ( 0.0 6 9)
arc 34 35 ( 0.0 6 9)
arc 37 34 ( 0.0 6 9)
arc 58 57 ( 0.0 6.25 9)
arc 56 57 ( 0.0 6.25 9)
arc 59 56 ( 0.0 6.25 9)

arc 62 63 ( 0.0 2 14)
arc 60 61 ( 0.0 6.25 14)
arc 58 59  ( 0.0 6.25 9)
arc 38 39 ( 0.0 2 9)

);

patches
(
   patch inletRotor
   (
      (2 14 16 0)
      (14 15 17 16)
      (15 3 1 17)
      (0 16 44 46)
      (16 17 45 44)
      (17 1 47 45)
    )

   cyclicGgi cyclic1
   (
      (2 24 22 0)
      (24 42 40 22)
      (42 38 36 40)
      (0 22 50 46)
      (22 40 54 50)
      (40 36 58 54)
    )

   cyclicGgi cyclic2
   (
      (3 25 23 1)
      (25 43 41 23)
      (43 39 37 41)
      (1 23 51 47)
      (23 41 55 51)
      (41 37 59 55)
    )

   patch heat_transfer
   (
      (18 19 21 20)
      (19 26 28 21)
      (18 27 29 20)
      (27 26 28 29)
      (2 14 18 24)
      (14 15 19 18)
      (15 3 25 19)
      (24 18 27 42)
      (19 25 43 26)
      (42 27 33 38)
      (27 26 32 33)
      (26 43 39 32)
      (21 28 29 20)
  //    (14 15 19 18)
   //   (15 3 25 19)
    )

 //  patch hub         //possible heat transfer
 //  (
  //    (2 14 18 24)
  //    (14 15 19 18)
  //    (15 3 25 19)
  //    (24 18 27 42)
  //    (19 25 43 26)
  //    (42 27 33 38)
  //    (27 26 32 33)
  //    (26 43 39 32)
  //  )

   patch shroud
  (
     (46 44 48 50)
     (44 45 49 48)
     (45 47 51 49)
     (50 48 53 54)
     (48 49 52 53)
     (49 51 55 52)
     (54 53 57 58)
     (53 52 56 57)
     (52 55 59 56)
    )
   patch outletRotor_ggi
   (
      (32 39 37 34)
      (33 32 34 35)
      (38 33 35 36)
      (36 35 57 58)
      (35 34 56 57)
      (34 37 59 56)
    )
   patch inletStator_ggi
   (
      (38 39 59 58)
   )
   cyclicGgi cyclicStator1
   (
      (62 38 58 60)
    )
   cyclicGgi cyclicStator2
   (
      (39 63 61 59)
    )
   patch outlet
   (
      (62 63 61 60)
    )

   wall wall
   (
      (38 39 63 62)
      (58 59 61 60)
    )
);

mergePatchPairs
(
);

// ************************************************************************* //
